AWNPipe is a new kind of ADOS device. It's functions can be accessed from almost any program including C, E, Assembler, Arexx, and simple ADOS scripts. AWNP has many uses but the most popular is the creation of Graphical User Interfaces. Other functions include clipboard support, tooltype access, pattern matching, Html conversion, data stream twinning, ...
Programmers will find that GUI development is VERY fast using AWNP and testing various layouts is as easy as editing a text file.
Programs written using AWNP present the user with a GUI that is easy to use and consistent in form. The ease of adding menus, Arexx hosts, help information and images encourages authors to add more of the 'Nice' features to their programs.
Distribution
AWNPipe can be freely distributed in the form of this archive, complete and unmodified.
The operational parts (AWNPipe-handler and AWNPipe) may be included in the distribution of programs using AWNPipe if the following three conditions are met.
1. The distribution contains an install script and the AWNPipe files are handled as follows (NOTE the use of 'copylib' for awnpipe-handler).
(copylib
(source "device/awnpipe-handler")
(dest "l:")
(prompt "Installing AWNPipe-handler")
)
(copyfiles
(dest "Devs:dosdrivers")
(source "device/awnpipe")
(prompt "Installing AWNPipe")
(infos)
)
(working ("Activating AWNPipe:"))
(run "C:assign AWNPipe: dismount")
(run "C:mount AWNPipe:")
2. The docs mention the use of AWNP and the version number of AWNPipe in the distribution.
3. The AWNPipe author is notified, bill@amitrix.com .
This software is CHILDWARE. I require whoever uses this program to make a donation to a beneficial organization working to help children. If you don't know of any, ask at your local post office and learn how to make a payment to UNICEF. The amount is up to you, but please do it!
Requirements
AWNPipe requires ADOS 3.x
You must have Class Act installed or be using ADOS 3.5 to use the pipes GUI building functions. Class Act can be found on Aminet, or use http://www.amitrix.com/AWeb30ca.lha (the latter has been tested for compatability with AWNPipe).
Support
Support is currently available from :
http://www.onelist.com/community/awnpipe
http://web.ukonline.co.uk/awnpipe/
or directly from the AWNP Author, bill@amitrix.com.
History
o AWNPipe-handler Vers 2.48
- added work around for disable of clicktabs
- added the ability to disable a single tab of a clicktab
- fixed docs, disable keyword description was backwards in some places
- '/m' multiple opens now work when reading data.
- added '/m' explanation to pipe functions/tutorials/tricks
- cleaned up docs in various places.
- added plain text version of these docs
- added Amiga Guide version of these docs
- fixed bug in XO.rx demo
o AWNPipe-handler Vers 2.47
- added '/xs' (seticon) ability to write icon tooltypes, position, type, and defaultool
- expanded tutorial5 to cover writing tooltypes
- GUI advanced doc has been expanded
o AWNPipe-handler Vers 2.46
- trailing '/' in no longer required in drawers only getfiles.
- fixed asl getfile loss of initial title
- fixed asl getfile missing space in event
- fixed asl getfile retention of pos and neg text
- worked around for missing refresh in multiselect listbrowser
o AWNPipe-handler Vers 2.45
- expanded drawlist commands (changed some directive values as well)
- corrected Browsernode and listbrowser docs
- added refresh ability to browsernodes
- fixed multiselect listbrowser bug
o AWNPipe-handler Vers 2.44
- fixed bug ScreenTitle could be trashed when setting WindowTitle.
- binary data for GUI is no longer limited to 10000 bytes
- added '/xt' option to query icon tooltypes
- fixed bug An extra 'ok' was returned when an addnode modify line included sc=
- expanded readme file
- tutorial 5 now checks tool types of its icon
- Advanced GUI tutorial text updated
- Added sanity check, you can't force gadget refresh while window is iconified
- The dictionary demo is now a thesaurus as well (docs/demos/dict-thesar.rx)
o AWNPipe-handler Vers 2.43
- fixed return from commodity modify.
- Added underscore keyword to label image
o AWNPipe-handler Vers 2.42
- Added Commodity Object, see GUI Creation/Objects/More.
- Tutorial 5 is now a commodity.
- Tutorial 5 is now an arexx host.
- updated advanced gui tutorial docs.
o AWNPipe-handler Vers 2.41
- added order modify keyword to retrieve the order of nodes in a list browser
- the CAList demo is now called GUIList and a short doc file added
- the FontToy demo has been updated and a short doc file added
o AWNPipe-handler Vers 2.40
- fixed bug in ASL getfile title modify
- added some important text to the getfile docs.
- fixed bug, GUI Host could hang on selection of invalid browsernode
- fixed bugs ASL getfile, height parameter, filename
- added function, removenode now works with list detached
- Listbrowsers can now be sorted by two fields at once.
- added option to set positive text is ASL getfile
- added option to set negative text is ASL getfile
- No more deadlocks when a read is pending on both ends of a pipe !!!
- refined help window size and placement
o AWNPipe-handler Vers 2.39
- added '/Xea' option to generate keystrokes from a simple ANSI source.
- fixed arexx host creation (could cause enforcer hits)
- changed fonttoy demo
o AWNPipe-handler Vers 2.38
- oops 2.37 has new 'beep' modify command to flash screen(s).
- added keystroke event generator. '/Xe'
- added keystroke filter and notification '/Xk'
- optimized A4 initialization for faster handler.
o AWNPipe-handler Vers 2.37
- added 'bufferpos' to read cursor position in string gadgets.
- fixed bug, unmatched commands to an arexx host could cause software failure.
- fixed cut and paste tutorial text in the docs.
- expanded tutorial 5 teaching about ARexx hosts.
- added sliders to gadgets 3 demo.
o AWNPipe-handler Vers 2.36
- started real history record
- added 'askclose' to window definition to stop window close button from actually closing the window.
- added 'bubble' modify command to open a help bubble.
- added cursor position to help events.
- added 'ASL' option to getfile to use an ASL rather than ClassAct/Reaction based requester.
- added work around for the fact CA/Reaction GetFile and GetFont can trash the GUI when help events are enabled.
- added tutorial 5 teaching bubble help.
- added 'weightbar' gadget..
- 'label' and 'bitmap' now return the created image size.
o AWNPipe-handler Vers 2.33 and earlier
- added 'draw' modify command to draw images manually into GUI.
- added 'refresh' events to window to allow refreshing of manually drawn images.
- added 'mouse' modify command to read mouse position.
- added 'slider' gadget type.
- added REAL menu bars.
- made menu mutilselect.
- extended appwindow support to allow dropping of a group of icons.
- added some 'C' based tutorials, anyone using awnp from 'C' please contact the AWNP author.
- added unit number option to '/v' and '/c' reading and writing the clipboard.
- fixed bug in modification of scroller gadgets.
- added a bunch of new modify commands for list browsers.
- added command to read the contents aof a list node.
- added 'TextEditor' gadget type.
Origin
AWNPipe was originally developed as a way to speed up the execution of my ARexx script AWebNews.awebrx. As I continued writing scripts I added more and more functions to the pipe. Some of the functions have proven useful to others writing Amiga prpgrams. I built these docs in the hope that AWNPipe: will be of use to Amiga programmers in general.
Acknowledgements
I would like to thank Gabriele Favrin (author of HTTX) for his input, testing and constant encouragement while writing AWNPipe.
I also thank...
Bruce Steers for maintaining the AWNP support page and finding many subtle bugs.
Nils Goers for his testing under ADOS 3.5 and developing his wonderful program T.H.E. using AWNP, as well as his bug reports.
Bernd Gollesch for writing the script that creates the Amiga Guide and plain
text versions of the docs automagicaly.
Everyone else who provided bug reports or feed back helping me make AWNP better.